package xyz.jangle.math;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;

/**
 * DecimalFormat的使用
 * @author jangle
 * @email 274676957@qq.com
 * 2025年10月11日 下午6:49:51
 */
public class DecimalFormatM {

	/**
	 * 2025年10月11日 下午6:49:52 @author jangle
	 * @param args
	 */
	public static void main(String[] args) {
		
		double number = 12345.9876543;
		DecimalFormat df = new DecimalFormat("000000.000");	// 整数最少6位，小数最少3位。
		String result = df.format(number);
		System.out.println(result);
		
		number = 12345678.987654;
		df.applyPattern("#,##,#00.0000$");	//	整数最少2位，小数最少4位
		//df = new DecimalFormat("#,##,#00.0000$");
		result = df.format(number);
		System.out.println(result);
		
		number = 0.986796;
		df.applyPattern("0.0000%");	//百分数
		result = df.format(number);
		System.out.println(result);
		df.applyPattern("0.0000\u2030");	//千分数
		result = df.format(number);
		System.out.println(result);
		
		number = 31456.4567;
		df.applyPattern("0.00E0");	//科学计数法
		result = df.format(number);
		System.out.println(result);
		
		String money = "3,521,563.345￥";
		df.applyPattern("#,##,##0.000");
		try {
			Number num = df.parse(money);
			System.out.println(num.doubleValue());
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
		result = df.format(new BigDecimal("10000"));
		System.out.println(result);
		
	}

}
